بستن فرم غیر فعال اکسس بطور خودکار
سلام به سافت پلاس خوش آمدید . امروز می خواهیم در نرم افزار اکسس با استفاده از خاصیت تایمر یک کار جالب با هم انجام دهیم . در واقع این آموزش بهانه ای است برای یک تیر و دو نشان .
در این آموزش هم کار کردن با خاصیت تایمر را یاد می گیریم و هم اینکه یاد می گیریم که با استفاده از این خاصیت یک فرم با قابلیت کاربردی ایجاد کنیم .
من علیرضا شهرآئینی هستم و در این آموزش می خواهم نکات کاربردی را در خصوص استفاده از قابلیت Timer در نرم افزار اکسس با شما به اشتراک بگذارم .
اجازه دهید که در همین ابتدای کار نتیجه نهایی کاری را که در این آموزش به آن خواهیم رسید را با هم ببینیم تا ذهنیت کلی از کاری که می خواهیم انجام دهیم را بدست آوریم .
اجازه بدهید موضوع آموزش امروز را با یک پیش مقدمه شروع کنیم .
حتما تا به حال با سایت های مربوط به بانکداری اینترنتی سرو کار داشته اید .
وقتی که شما وارد صفحه پرداخت اینترنت بانک خود می شوید معمولا یک تایمر در گوشه ای از صفحه کاری شما ظاهر می شود .
اگر دقت نمایید این تایمر زمان حضور شما را در سایت به صورت معکوس محاسبه مینماید.
به این ترتیب شما ۱۰ یا ۱۵ دقیقه مهلت دارید که فرآیند نقل و انتقال خود را انجام دهید.
وقتی که شمارشگر زمان به صورت معکوس عمل نموده و زمان باقی مانده شما به عدد صفر برسد برنامه به صورت خودکار صفحه مربوطه را می بندد .
در اینجا برای برنامه تفاوتی نمیکند که آیا شما در مدت زمان مشخص شده در صفحه کاری مربوطه فعالتیی داشته اید یا خیر.
و یا اینکه در مدت زمان تعیین شده با وجود تلاشی که نموده اید قادر به جابجایی مبلغ مورد نظر خود شده اید یا خیر .
در هر دو صورت با اتمام زمان در نظر گرفته شده ، شما به خارج از صفحه کاری مربوطه هدایت خواهید شد.
و باید مجدداً وارد صفحه شده و بازه زمانی جدیدی را برای خود ایجاد کنید.
امروز و در طی این پست آموزشی ما نیز می خواهیم هم چنین شرایطی را در محیط اکسس شبیه سازی کنیم.
آنچه که به دنبال آن هستیم این است که با استفاده از کد های VBA شرایطی را فراهم کنیم که اگر کاربر در یک فرم مورد نظر ما و در یک بازه زمانی مشخص هیچگونه فعالیتی ننمود فرم ما به صورت خودکار بسته شود.
البته قبل از بسته شدن به کاربر پیغام هشدار لازم داده شود
پس با من تا پایان این آموزش همراه باشد.
گام نخست : ایجاد فرم مورد نظر برای استفاده از خاصیت تایمر
در گام اول باید فرم مورد نظر خود را ایجاد نماییم .
اینکه این فرم دارای چه اشیایی باشد و به چه جدولی متصل باشد و قرار است چه نوع اطلاعاتی را از کاربر دریافت نماید برای ما اهمیت ندارد .
بنابراین شما میتوانید هر فرمی را با مشخصات مورد نظر خود ایجاد کنید
برای این منظور من از فرم زیر استفاده می نمایم
همانگونه که ملاحظه می کنید این فرم یک فرم ورود به برنامه اصلی میباشد.
طراحی این فرم به گونه ای است که کاربر وقتی که نرم افزار اکسس را اجرا می نماید قبل از نمایش سایر قسمت های برنامه این فرم در اختیار کاربر قرار می گیرد تا اطلاعات مربوط به نام کاربری و گذرواژه خود را وارد کند.
در صورت صحت اطلاعات وارد شده سایر بخشهای برنامه برای کاربر به نمایش در می آید.
اما به منظور بالا بردن سطح امنیت برنامه خود می توانیم یک محدوده زمانی را برای کار در تعیین نماییم تا در این محدوده زمانی که مطمئناً باید معقولانه نیز باشد اطلاعات مربوطه را وارد نماید .
در غیر این صورت برنامه به صورت خودکار بسته شده و از دسترس کاربر خارج می شود.
گام دوم : قرار دادن یک تکس باکس بر روی فرم
ما در این مرحله فقط نیاز به یک تکس باکس ساده داریم .
آن را ایجاد و با نام txtcounter درون فرم خود قرار دهید .
گام چهارم: تنظیم خاصیت تایمر
در قدم بعدی می خواهیم به تنظیم خاصیت تایمر برای این فرم بپردازیم .
برای این منظور ما نیاز داریم که به محض باز شدن و فعال شدن فرم مربوطه خاصیت تایمر شروع به کار نماید
برای تنظیم این خاصیت لازم است به محیط طراحی فرم مربوطه خود برویم
اکنون در این محیط کادر موسوم به property sheet باز میکنیم .
به تصویر زیرتوجه کنید.
ما در این کادر باید اطلاعات مربوط به دو رویداد فرم را تکمیل نماییم .
- رویداد مربوط به On open
با استفاده از این رویداد می خواهیم به برنامه عنوان کنیم که به محض باز شدن این فرم فاصله زمانی مورد نظر برای شمارش را یک ثانیه در نظر بگیرد .
باید این نکته را بدانیم که خاصیت تایمر در اکسس بر مبنای میلی ثانیه می باشد .
یعنی برای اینکه تایمر مورد نظر ما بر روی ۱ ثانیه قرار گیرد باید عدد ۱۰۰۰ میلی ثانیه را که معادل یک ثانیه است در کادر مربوطه وارد نماییم .
پس می خواهیم بگوییم که با باز شدن فرم تایمر برنامه هر یک ثانیه شروع به شمارش نماید .
برای این منظور کدهای زیر را در رویداد مربوط به On open درج می کنیم .
(Private Sub Form_Open(Cancel As Integer Me.txtCounter.Visible = False Me.TimerInterval = 1000 End Sub
این تصویر حاوی دو نکته دیگر نیز می باشد :
- ما در این رویداد نیاز به یک متغیر داریم که آن را به نام Timecount از نوع Long تعریف نموده و در بالای ماژول خود قرار می دهیم .
- با استفاده از خط دوم روال این رویداد نیز از برنامه می خواهیم که در ابتدای باز شدن فرم ما تکس باکسی را که در مرحله قبل درون آن قرار دادیم را از دید کاربر پنهان نماید .در ادامه و در زمان مناسب این تکس باکس به کاربر نمایش داده خواهد شد .
اکنون به سراغ رویداد on timer می رویم .
در این رویداد می خواهیم که برنامه در زمانهای خاصی کارهایی را که ما برایش تعریف می نماییم را اجرا نماید .
برای این کار از کدهای زیر استفاده می کنیم .
()Private Sub Form_Timer TimeCount = TimeCount + 1 Me.txtCounter.Value = 120 - TimeCount If TimeCount = 60 Then Me.txtCounter.Visible = True End If If TimeCount < 30 Then Me.txtCounter.ForeColor = vbRed End If If TimeCount > 120 Then "DoCmd.Close acForm, "myform End If End Sub
زمانی را که برای کاربر بمنظور تکمیل فرم در نظر گرفته ایم معادل ۱۲۰ ثانیه است .
اگر شما می خواهید زمان کمتر و یا بیشتری را برای خود تعریف نمایید می تواند عدد مورد نظر خود را بر حسب ثانیه تبدیل و در محل خط سوم از این کد قرار دهید .
در خط بعد از برنامه می خواهیم وقتی زمان باقی مانده برای کاربر معادل ۶۰ ثانیه شد شمارنده معکوس برای کاربر به نمایش در آید .
و زمانی که زمان باقی مانده کمتر از ۳۰ ثانیه شد رنگ فونت شمارشگر بمنظور هشدار به کاربر به رنگ قرمز در آید .
و در انتهای مهلت زمانی ۲ دقیقه ای فرم مربوطه بسته می شود.
در اینجا با استفاده از خاصیت تایمر در فرم خود به راحتی توانستیم مدت زمان حضور کاربر را داخل فرم خود مدیریت کنیم .
و اما نکات انتهایی اینکه اولا اگر سوالی داشته باشید در خصوص این آموزش می توانید سوال خود را در قسمت نظرات درج کنید
نکته دوم هم اینکه اگر می خواهید نمونه فایل مربوط به این آموزش را در قالب یک فایل اکسس داشته باشید کافی است مشخصات خود را در این این کادر وارد کنید تا فایل نمونه به ایمیل شما ارسال شود .
[sdfile url=”https://softpluse.ir/wp-content/uploads/2019/04/softpluse.ir_-2.zip”]
نکته سوم اینکه بعضی از نکات کاربردی برای کار با نرم افزار های آفیس در قالب آموزش های کوتاه ویدئویی در صفحه اینستاگرام سایت قرار داده شده است . از شما دعوت می کنم حتما سری به پیج سایت در اینستاگرام بزنید .
مطالب زیر را حتما مطالعه کنید
مفهوم join در SQL و دیتابیس اکسس +ویدئو
ساخت برچسب در اکسس💥چطور آنها را ایجاد و مدیریت کنیم ؟
ریبون ها در اکسس💥از مخفی کردن تا مدیریت کردن آنها
چطوری متن ها و تصاویر را بصورت متحرک در اکسس نمایش بدهیم ؟
فرمت دهی نوشته ها در اکسس | کاربرد + مثالها
۵ ویژگی در فرم های اکسس که کمتر از آنها خبر داشتید .
10 دیدگاه
به گفتگوی ما بپیوندید و دیدگاه خود را با ما در میان بگذارید.
سلام
ممنونم بابت آموزشها،بسیار کارآمدن.
واقعاً ممنون
با تشکر از توجه شما امیدوارم در آینده نیز همراه ما باشید .
سلام
لطفا فایل نمونه بستن فرم غیر فعال اکسس بطور خودکار را برای من ارسال کنید
با تشکر
سلام نمونه فایل اصلاح شد می توانید دانلود کنید
سلام چرا نم نمیتونم نمونه فایلها را دانلود کنم لطفا راهنمایی بفرمایید از کدوم قسمت میتونم این کار را انجام بدم تشکر
سلام نمونه فایل از سایت برداشته شده . اشنالله بزودی توی آپدیت این مطلب نمونه فایل هم قرار خواهد گرفت
سلام
نیاز به کمک
من یه فرمی تو اکسس دارم که تایمر رو تا حدودی مثل شما روش گذاشتم میخام وقتی کاربر کارش تموم شد، سیستم پیغام بده که شما مثلا در طول ۱۵ ثانیه کارتون رو انجام دادین.چطور این کار رو انجام بدم. خیلی ممنون از بابت آموزش های خوبتون خوبتون…shahramdindoost@gmail.com
با سلام می تونید تایمرتون رو در داخل یک متغیر قرار بدید و مقدار نهایی رو به کاربر نمایش بدهید
با سلام و عرض ادب. در صورتی که در فرمی که مد نظر ما است یک دستور نوشته باشیم که برای بستن فرم تاییدیه بگیرد ، نیاز به دستوری جهت انجام این کار نیز می باشد. لطفاً دستور تایید کردن خروج را نیز در کد نویسی خود قرار بدهد.
با تشکر
سلام
این آموزش رو بصورت یک پست اینستاگرامی توی پیج vba_pluse@ قرار می دم
موفق باشید .